#makefile的语法很严格, 不要随便加空格!!!
BIN=Rector_server
COMPILER=g++
# 源文件列表
SRC=IO_Connection.cpp Listen_Connection.cpp Reactor_server.cpp basic_component/Log.cpp
OBJ=$(SRC:.cpp=.o)
RM=rm -f

$(BIN):$(OBJ)
	$(COMPILER) $^ -o $@ -ljsoncpp -std=c++17 -g

# 通用规则，支持子目录
%.o:%.cpp
	@mkdir -p $(dir $@)  # 确保目标目录存在
	$(COMPILER) -c $< -o $@ -std=c++17 -g

.PHONY:clean
clean:
	$(RM) $(OBJ) $(BIN)